typedef unsigned char uint8;
typedef unsigned short uint16;
typedef unsigned long uint32;
typedef signed char int8;
typedef signed short int16;

#define GPIO_OUTPUT 1
#define GPIO_INPUT  0

